<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>End-user development</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/End-user_development"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-End-user_development rootpage-End-user_development skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">End-user development</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p><b>End-user development</b> (<b>EUD</b>) or <b>end-user programming</b> (<b>EUP</b>) refers to activities and tools that allow <a href="User_(computing)" title="User (computing)">end-users</a> – people who are not professional software developers – to <a href="Computer_programming" title="Computer programming">program computers</a>. People who are not professional developers can use EUD tools to create or modify <i>software artifacts</i> (descriptions of automated behavior) and complex data objects without significant knowledge of a <a href="Programming_language" title="Programming language">programming language</a>. In 2005 it was estimated (using statistics from the U.S. <a href="Bureau_of_Labor_Statistics" title="Bureau of Labor Statistics">Bureau of Labor Statistics</a>) that by 2012 there would be more than 55 million end-user developers in the United States, compared with fewer than 3 million professional programmers.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Various EUD approaches exist, and it is an active <a href="Discipline_(academia)" class="mw-redirect" title="Discipline (academia)">research topic</a> within the field of <a href="Computer_science" title="Computer science">computer science</a> and <a href="Human-computer_interaction" class="mw-redirect" title="Human-computer interaction">human-computer interaction</a>. Examples include <a href="Natural_language_programming" title="Natural language programming">natural language programming</a>,<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> <a href="Spreadsheet" title="Spreadsheet">spreadsheets</a>,<sup id="cite_ref-encyclopedia_4-0" class="reference"><a href="#cite_note-encyclopedia-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> <a href="Scripting_language" title="Scripting language">scripting languages</a> (particularly in an office suite or art application), <a href="Visual_programming_language" title="Visual programming language">visual programming</a>, trigger-action programming and <a href="Programming_by_example" title="Programming by example">programming by example</a>.
</p><p>The most popular EUD tool is the <a href="Spreadsheet" title="Spreadsheet">spreadsheet</a>.<sup id="cite_ref-encyclopedia_4-1" class="reference"><a href="#cite_note-encyclopedia-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Empowering_Users_5-0" class="reference"><a href="#cite_note-Empowering_Users-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Due to their unrestricted nature, spreadsheets allow relatively un-sophisticated computer users to write programs that represent complex data models, while shielding them from the need to learn lower-level programming languages.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> Because of their common use in business, spreadsheet skills are among the most beneficial skills for a graduate employee to have, and are therefore the most commonly sought after<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> In the United States of America alone, there are an estimated 13 million end-user developers programming with spreadsheets<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p><p>The <a href="Programming_by_example" title="Programming by example">programming by example</a> (<i>PbE</i>) approach reduces the need for the user to learn the abstractions of a classic programming language. The user instead introduces some examples of the desired results or operations that should be performed on the data, and the PbE system infers some abstractions corresponding to a program that produces this output, which the user can refine. New data may then be introduced to the automatically created program, and the user can correct any mistakes made by the program in order to improve its definition. <a href="Low-code_development_platforms" class="mw-redirect" title="Low-code development platforms">Low-code development platforms</a> are also an approach to EUD.
</p><p>One evolution in this area has considered the use of mobile devices to support end-user development activities. In this case previous approaches for desktop applications cannot be simply reproposed, given the specific characteristics of mobile devices. Desktop EUD environments lack the advantages of enabling end users to create applications opportunistically while on the move.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p><p>More recently, interest in how to exploit EUD to support development of Internet of Things applications has increased. In this area trigger-action programming seems a promising approach.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>Lessons learned from EUD solutions can significantly influence the <a href="Software_release_life_cycle" title="Software release life cycle">software life cycles</a> for <a href="Software_product_management" title="Software product management">commercial software products</a>, in-house <a href="Intranet" title="Intranet">intranet</a>/<a href="Extranet" title="Extranet">extranet</a> developments and <a href="Enterprise_resource_planning" title="Enterprise resource planning">enterprise application</a> deployments.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Application_specific_low_code_development_platforms">Application specific low code development platforms</h2></div>
<p>Roughly 40 vendors now offer solutions targeted at end users designed to reduce programming efforts. These solutions do not require traditional programming and may be based around relatively narrow functionality, e.g. contract management, customer relationships management, issue and bug tracking. Often referred to as low code development platforms, web based interactions guide a user to develop an application in as little as 40–80 hours.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Definition">Definition</h2></div>
<p>Lieberman et al. propose the following definition:<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<blockquote><p>End-User Development can be defined as a set of methods, techniques, and tools that allow users of software systems, who are acting as non-professional software developers, at some point to create, modify or extend a software artifact.</p></blockquote><p>Ko et al. propose the following definition:<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</p><blockquote><p>End-user programming is programming to achieve the result of a program primarily for personal, rather [than] public use.</p></blockquote>
<p>Artifacts defined by end users may be objects describing some automated behavior or control sequence, such as database requests or grammar rules,<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> which can be described with programming paradigms such as <a href="Programming_by_demonstration" title="Programming by demonstration">programming by demonstration</a>, <a href="Programming_by_example" title="Programming by example">programming with
examples</a>, <a href="Visual_programming" class="mw-redirect" title="Visual programming">visual programming</a>, or <a href="Macro_(computer_science)" title="Macro (computer science)">macro</a> generation.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> They can also be parameters that choose between alternative predefined behaviors of an application.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> Other artifacts of end-user development may also refer to the creation of user-generated content such as annotations, which may be or not computationally interpretable (i.e. can be processed by associated automated functions).<b><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup></b>
</p>
<div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2></div>
<p>Examples of end-user development include the creation and modification of:
</p>
<ul><li><a href="Computer_animation" title="Computer animation">Animation</a> scripts used by graphic artists to describe characters, environments and how characters move to produce an intended animation</li>
<li><a href="Configuration_file" title="Configuration file">Configuration files</a> that blur the line between programs and data (e.g., <a href="E-mail_filtering" class="mw-redirect" title="E-mail filtering">email filters</a> are sequenced lists of criteria and actions to take)</li>
<li><a href="Example-Centric_Programming" class="mw-redirect" title="Example-Centric Programming">Example-Centric Programming</a> tools<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Mod_(computer_gaming)" class="mw-redirect" title="Mod (computer gaming)">Game modifications</a> to introduce users' own characters, environments, etc. — many recent games are distributed with modification in mind</li>
<li>Interaction scripts used in <a href="Call_centre" title="Call centre">CRM call centres</a></li>
<li>Mobile app development tools such as <a href="App_Inventor" class="mw-redirect" title="App Inventor">App Inventor</a></li>
<li>Process models used in <a href="Workflow_application" title="Workflow application">workflow applications</a></li>
<li><a href="Software_prototyping" title="Software prototyping">Prototypes</a> and domain-specific programs written by businesspeople, engineers, and scientists to demonstrate or test specific theories</li>
<li>Robot behaviour<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup></li>
<li>Scientific models used in <a href="Computer_simulation" title="Computer simulation">computer simulation</a>.</li>
<li>Scripts and macros added to extend or automate <a href="Office_suite" class="mw-redirect" title="Office suite">office productivity suites</a> and <a href="Graphics_software" title="Graphics software">graphics applications</a>.</li>
<li>Simulations created using <a href="Software_prototyping#Application_definition_or_simulation_software" title="Software prototyping">application definition software</a></li>
<li><a href="Simultaneous_editing" title="Simultaneous editing">Simultaneous editing</a> of many related items either through a <a href="Batch_processing" title="Batch processing">batch process</a> specified by the end user or by <a href="Direct_manipulation_interface" title="Direct manipulation interface">direct manipulation</a>, like those available in the <a href="Lapis_(text_editor)" title="Lapis (text editor)">Lapis text editor</a> and <a rel="nofollow" class="external text" href="http://blogs.gnome.org/jessevdk/2009/11/15/new-gedit-plugin-multi-edit/">multi edit</a>.</li>
<li><a href="Spreadsheets" class="mw-redirect" title="Spreadsheets">Spreadsheet</a> models, e.g., used for budgeting, risk analysis, interactive <a href="Machine_learning" title="Machine learning">machine learning</a>,<sup id="cite_ref-spreadsheet_machinelearning_20-0" class="reference"><a href="#cite_note-spreadsheet_machinelearning-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> or <a href="Electronic_circuit_design" title="Electronic circuit design">electronic circuit design</a><sup id="cite_ref-haynes1985fall_21-0" class="reference"><a href="#cite_note-haynes1985fall-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Visual_programming_language" title="Visual programming language">Visual programming</a> in the form of visual languages such as <a href="AgentSheets" title="AgentSheets">AgentSheets</a>, <a href="LabVIEW" title="LabVIEW">LabVIEW</a>, <a href="Scratch_(programming_language)" title="Scratch (programming language)">Scratch (programming language)</a> or <a href="LEGO_Mindstorms" class="mw-redirect" title="LEGO Mindstorms">LEGO Mindstorms</a>.</li>
<li><a href="Web_page" title="Web page">Web pages</a> - plain HTML or HTML and scripting</li>
<li><a href="Wiki" title="Wiki">Wikis</a> - a collaborative end-user development process <sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Mashup_(web_application_hybrid)" title="Mashup (web application hybrid)">Web Mashups</a> in the form of visual languages.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup></li>
<li><a href="3D_modeling" title="3D modeling">3D models</a> created with end-user oriented tools and apps such as <a href="Sketchup" class="mw-redirect" title="Sketchup">Sketchup</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Cost-benefit_modeling">Cost-benefit modeling</h2></div>
<p>According to <a href="Alistair_Sutcliffe" title="Alistair Sutcliffe">Sutcliffe</a>,<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> EUD essentially outsources development effort to the end user. Because there is always some effort to learn an EUD tool, the users' motivation depends on their confidence that it will empower their work, save time on the job or raise productivity. In this model, the benefits to users are initially based on marketing, demonstrations and word-of-mouth. Once the technology is put into use, experience of actual benefits becomes the key motivator.
</p><p>This study defines costs as the sum of:
</p>
<ul><li>Technical cost: the price of the technology and the effort to install it</li>
<li>Learning cost: the time taken to understand the technology</li>
<li>Development cost: the effort to develop applications using the technology</li>
<li>Test and debugging cost: the time taken to verify the system</li></ul>
<p>The first and second costs are incurred once during acquisition, whereas the third and fourth are incurred every time an application is developed. Benefits (which may be perceived or actual) are seen as:
</p>
<ul><li>Functionality delivered by the technology</li>
<li>Flexibility to respond to new requirements</li>
<li>Usability of applications produced</li>
<li>Overall quality of the applications produced</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Collaborations_in_end-user_development">Collaborations in end-user development</h2></div>
<p>Many end-user development activities are collaborative in nature, including collaboration between professional developers and end-user developers and collaboration among end-user developers.
</p><p>Mutual development<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> is a technique where professional developers and end-user developers work together in creating software solutions. In mutual development, the professional developers often “under design” the system and provide the tools to allow the “owners of problems<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>" to create the suitable solution at use time for their needs, objectives and situational contexts.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> Then the communication between professional developers and end-user developers can often stimulate formalizing ad hoc modifications by the end users into software artifacts, transforming end-user developed solutions into commercial product features with impacts beyond local solutions.
</p><p>In this collaboration, various approaches such as the Software Shaping Workshop<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> are proposed to bridge the communication gap between professional developers and end-user developers. These approaches often provide translucency according to the social translucence model,<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> enabling everyone in the collaboration to be aware of changes made by others and to be held accountable of their actions because of the awareness.
</p><p>Besides programming collaboration platforms like GitHub, which are mostly utilized by expert developers due to their steep learning curve, collaborations among end-user developers often take place on wiki platforms where the software artifacts created are shared. End-user development is also often used for creating automation scripts or interactive tutorials for sharing “how-to” knowledge. Examples of such application include CoScripter<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> and HILC.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> In such applications, user can create scripts for tasks using pseudo-natural language or via programming by demonstration. The users can choose to upload the script to a wiki style repository of scripts. On this wiki, users can browse available scripts and extend existing scripts to support additional parameters, to handle additional conditions or to operate on additional objects.
</p><p>Online and offline communities of end-user developers have also been formed, where end-user developers can collaboratively solve EUD problems of shared interest or for mutual benefit. In such communities, local experts spread expertise and advice. Community members also provide social support for each other to support the collaborative construction of software.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Criticism">Criticism</h2></div>
<p>Commentators have been concerned that end users do not understand how to test and secure their applications. Warren Harrison, a professor of computer science at Portland State University, wrote:<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup>
</p>
<blockquote><p>It’s simply unfathomable that we could expect security... from the vast majority of software applications out there when they’re written with little, if any, knowledge of generally accepted good practices such as specifying before coding, systematic testing, and so on.... How many X for Complete Idiots (where "X" is your favorite programming language) books are out there? I was initially amused by this trend, but recently I’ve become uneasy thinking about where these dabblers are applying their newfound knowledge.</p></blockquote>
<p>This viewpoint assumes that all end users are equally naive when it comes to understanding software, although Pliskin and Shoval argue this is not the case, that sophisticated end users are capable of end-user development.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> However, compared with expert programmers, end-user programmers rarely have the time or interest in systematic and disciplined software engineering activities,<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> which makes ensuring the quality of the software artifact produced by end-user development particularly challenging.
</p><p>In response to this, the study of <b>end-user software engineering</b> has emerged. It is concerned with issues beyond end-user development, whereby end users become motivated to consider issues such as reusability, security and verifiability when developing their solutions.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>
</p><p>An alternative scenario is that end users or their consultants employ <a href="Declarative_programming" title="Declarative programming">declarative</a> tools that support rigorous business and security rules at the expense of performance and scalability; tools created using EUD will typically have worse efficiency than those created with professional programming environments. Though separating functionality from efficiency is a valid <a href="Separation_of_concerns" title="Separation of concerns">separation of concerns</a>, it can lead to a situation where end users will complete and document the <a href="Requirements_analysis" title="Requirements analysis">requirements analysis</a> and <a href="Software_prototyping" title="Software prototyping">prototyping</a> of the tool, without the involvement of <a href="Business_analysis" title="Business analysis">business analysts</a>. Thus, users will define the functions required before these experts have a chance to consider the limitations of a specific <a href="Application_software" title="Application software">application</a> or <a href="Software_framework" title="Software framework">software framework</a>. Senior management support for such end-user initiatives depends on their attitude to existing or potential <a href="Vendor_lock-in" title="Vendor lock-in">vendor lock-in</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Automatic_programming" title="Automatic programming">Automatic programming</a></li>
<li><a href="End-user_computing" title="End-user computing">End-user computing</a></li>
<li><a href="Low-code_development_platforms" class="mw-redirect" title="Low-code development platforms">Low-code development platforms</a></li>
<li><a href="Natural_language_programming" title="Natural language programming">Natural language programming</a></li>
<li><a href="Situational_application" title="Situational application">Situational application</a></li>
<li><a href="Software_engineering" title="Software engineering">Software engineering</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width reflist-columns-2">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFScaffidiShawMyers2005" class="citation book cs1">Scaffidi, C.; Shaw, M.; Myers, B. (2005-09-01). "Estimating the Numbers of End Users and End User Programmers". <i>2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05)</i>. pp. <span class="nowrap">207–</span>214. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FVLHCC.2005.34">10.1109/VLHCC.2005.34</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-7695-2443-6</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:14608501">14608501</a>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">Little, Greg, and Robert C. Miller. "<a rel="nofollow" class="external text" href="https://web.archive.org/web/20171210231913/https://pdfs.semanticscholar.org/b740/08688a029d7c48a2153a7905e7fa65fea72f.pdf">Translating keyword commands into executable code</a>." Proceedings of the 19th annual ACM symposium on User interface software and technology. ACM, 2006.</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Bruckman, Amy, and Elizabeth Edwards. "<a rel="nofollow" class="external text" href="http://www.cc.gatech.edu/~asb/papers/conference/edwards-bruckman-chi99.pdf">Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language</a>." Proceedings of the SIGCHI conference on Human Factors in Computing Systems. ACM, 1999.
APA</span>
</li>
<li id="cite_note-encyclopedia-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-encyclopedia_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-encyclopedia_4-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFBurnettScaffidi2024" class="citation book cs1"><a href="Margaret_Burnett" title="Margaret Burnett">Burnett, Margaret M.</a>; Scaffidi, Christopher (January 2024). <a rel="nofollow" class="external text" href="http://www.interaction-design.org/encyclopedia/end-user_development.html"><i>End-User Development</i></a>. Interaction-Design.org.</cite> at "Encyclopedia of Human-Computer Interaction".</span>
</li>
<li id="cite_note-Empowering_Users-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-Empowering_Users_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFHornsby2009" class="citation web cs1">Hornsby, Peter (2009-08-03). <a rel="nofollow" class="external text" href="http://www.uxmatters.com/mt/archives/2009/08/empowering-users-to-create-their-own-software.php">"Empowering Users to Create Their Own Software"</a>. <i>UXmatters</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2014-01-31</span></span>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFAbrahamBurnettErwig2009" class="citation book cs1">Abraham, R.; Burnett, M; Erwig, M (2009). "Spreadsheet programming". <i>Wiley Encyclopedia of Computer Science and Engineering</i>. pp. <span class="nowrap">1–</span>10.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text">Kruck, S. & Sheetz, S., 2001. <a rel="nofollow" class="external text" href="http://www.pucrs.br/ciencias/viali/tic_literatura/artigos/planilhas/KRUCK-SHEETZ_SpreadsheetAccTheory.pdf">Spreadsheet accuracy theory</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180818052312/http://www.pucrs.br/ciencias/viali/tic_literatura/artigos/planilhas/KRUCK-SHEETZ_SpreadsheetAccTheory.pdf">Archived</a> 2018-08-18 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>. Journal of Information Systems Education.</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text">Scaffidi, C., Shaw, M. & Myers, B., 2005. <a rel="nofollow" class="external text" href="http://web.engr.oregonstate.edu/~cscaffid/papers/eu_20050923_vlhcc.pdf">Estimating the Numbers of End Users and End User Programmers</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110912030301/http://web.engr.oregonstate.edu/~cscaffid/papers/eu_20050923_vlhcc.pdf">Archived</a> 2011-09-12 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>. 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’05), pp.207–214.</span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.hindawi.com/journals/isrn/2013/532659/">Paternò F., 2013, ISRN Software Engineering, End User Development: Survey of an Emerging Field for Empowering People</a></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://dl.acm.org/ft_gateway.cfm?id=3057861&ftid=1868975&dwn=1&CFID=15395619&CFTOKEN=88b71644acac92dd-68065E67-C078-832A-D6A5CF54EBDFA5C9/">Ghiani, G., Manca, M., Paternò, F., Santoro, C.: Personalization of Context-dependent Applications through Trigger-Action Rules. ACM Transactions on Computer-Human Interaction, Vol.24, Issue 2, Article N.14, April 2017.</a></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><a href="Low-code_development_platforms" class="mw-redirect" title="Low-code development platforms">Low-code development platforms</a></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">Lieberman, H., Paternò, F., Klann, M., and Wulf, V. (2006). End-User Development: An Emerging Paradigm. In: End-User Development, Lieberman, H., Paternò, F., and Wulf, V. (eds.), Springer Netherlands, 2006, ser. Human-Computer Interaction Series, vol. 9, Chapter 1, pp. 1-7, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F1-4020-5386-X_1">10.1007/1-4020-5386-X_1</a></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite id="CITEREFKoAbrahamBeckwithBlackwell2011" class="citation journal cs1">Ko, Andrew J.; Abraham, Robin; Beckwith, Laura; Blackwell, Alan; Burnett, Margaret; Erwig, Martin; Scaffidi, Chris; Lawrance, Joseph; Lieberman, Henry (2011-04-01). "The State of the Art in End-user Software Engineering". <i>ACM Comput. Surv</i>. <b>43</b> (3): 21:1–21:44. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.8597">10.1.1.159.8597</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1922649.1922658">10.1145/1922649.1922658</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0360-0300">0360-0300</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:9435548">9435548</a>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">H. Lieberman, B. A. Nardi, and D. Wright. Grammex: Defining grammars by example. In ACM conference on Human Factors in Computing Systems (Summary, Demonstrations) (CHI ’98), Los Angeles, California, USA, pages 11–12. ACM
Press, Apr. 1998.</span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">Maria Francesca Costabile, Daniela Fogli, Piero Mussio, Antonio Piccinno. <i><a rel="nofollow" class="external text" href="https://www.researchgate.net/profile/Antonio_Piccinno/publication/226690375_End-User_Development_The_Software_Shaping_Workshop_Approach/links/0912f508eb00c77988000000.pdf">End-user development: the software shaping workshop approach</a></i>. In Lieberman, H., Paternò, F., Wulf, V. (Eds) (2004) End User Development - Empowering People to Flexibly Employ Advanced Information and Communication Technology, © 2004 Kluwer Academic Publishers, Dordrecht, The Netherlands.</span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text">Costabile, M.F., Fogli, D., Letondal, C., Mussio, P., Piccinno, A., <a rel="nofollow" class="external text" href="https://hal.archives-ouvertes.fr/hal-01299738/document">Domain -Expert Users and their Needs of Software Development</a>", UAHCI Conference, Crete, June 22–27, 2003, 232-236.</span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">Gerhard Fischer <i><a rel="nofollow" class="external text" href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.419.7930&rep=rep1&type=pdf">End-User Development and Meta-Design: Foundations for Cultures of Participation</a></i>. End-User Development Lecture Notes in Computer Science, 2009, Volume 5435/2009, 3-14,</span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><cite id="CITEREFScaffidiBrandtBurnettDove2012" class="citation book cs1">Scaffidi, Christopher; Brandt, Joel; Burnett, Margaret; Dove, Andrew; Myers, Brad (2012). "SIG: End-user programming". <i>CHI '12 Extended Abstracts on Human Factors in Computing Systems</i>. Chi Ea '12. pp. <span class="nowrap">1193–</span>1996. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F2212776.2212421">10.1145/2212776.2212421</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781450310161</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:17748945">17748945</a>.</cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><cite id="CITEREFLeonardiMancaPaternòSantoro2019" class="citation book cs1">Leonardi, Nicola; Manca, Marco; Paternò, Fabio; Santoro, Carmen (2019). "Trigger-Action Programming for Personalising Humanoid Robot Behaviour". <i>Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems</i>. pp. <span class="nowrap">1–</span>13. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3290605.3300675">10.1145/3290605.3300675</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-145035970-2</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:140220651">140220651</a>.</cite></span>
</li>
<li id="cite_note-spreadsheet_machinelearning-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-spreadsheet_machinelearning_20-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSarkarBlackwellJamnikSpott2014" class="citation book cs1">Sarkar, Advait; Blackwell, Alan; Jamnik, Mateja; Spott, Martin (July 2014). "Teach and try: A simple interaction technique for exploratory data modelling by end users". <i>2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)</i>. pp. <span class="nowrap">53–</span>56. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.695.2025">10.1.1.695.2025</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FVLHCC.2014.6883022">10.1109/VLHCC.2014.6883022</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4799-4035-6</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:14845341">14845341</a>.</cite></span>
</li>
<li id="cite_note-haynes1985fall-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-haynes1985fall_21-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFHaynes,_John_L.1985" class="citation news cs1">Haynes, John L. (Fall 1985). <a rel="nofollow" class="external text" href="https://archive.org/stream/byte-magazine-1985-11/1985_11_BYTE_10-11_Inside_the_IBM_PCs#page/n145/mode/2up">"Circuit Design with Lotus 1-2-3"</a>. <i>BYTE</i>. pp. <span class="nowrap">143–</span>156<span class="reference-accessdate">. Retrieved <span class="nowrap">19 March</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.merriam-webster.com/dictionary/wiki">"Wiki Merriam-Webster.com Dictionary"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">22 April</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><cite id="CITEREFRoy_ChowdhuryRodriguezDanielCasati2010" class="citation book cs1">Roy Chowdhury, Soudip; Rodriguez, Carlos; Daniel, Florian; Casati, Fabio (2010). <a rel="nofollow" class="external text" href="https://archive.org/details/serviceorientedc0000maxi/page/144"><i>Wisdom-aware computing: on the interactive recommendation of composition knowledge</i></a>. Icsoc'10. pp. <a rel="nofollow" class="external text" href="https://archive.org/details/serviceorientedc0000maxi/page/144">144–155</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9783642193934</bdi>.</cite></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite id="CITEREFSutcliffe,_Alistair2005" class="citation journal cs1"><a href="Alistair_Sutcliffe" title="Alistair Sutcliffe">Sutcliffe, Alistair</a> (July 2005). "Evaluating the costs and benefits of end-user development". <i>ACM SIGSOFT Software Engineering Notes</i>. <b>30</b> (4): <span class="nowrap">1–</span>4. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1082983.1083241">10.1145/1082983.1083241</a>.</cite></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite id="CITEREFAndersenMørch2009" class="citation book cs1">Andersen, Renate; Mørch, Anders I. (2009-03-02). "Mutual Development: A Case Study in Customer-Initiated Software Product Development". <i>End-User Development</i>. Lecture Notes in Computer Science. Vol. 5435. pp. <span class="nowrap">31–</span>49. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.598.9066">10.1.1.598.9066</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-00427-8_3">10.1007/978-3-642-00427-8_3</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-642-00425-4</bdi>.</cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite id="CITEREFFischer1994" class="citation book cs1">Fischer, Gerhard (1994-01-01). "Putting the Owners of Problems in Charge with Domain-oriented Design Environments". <i>User-Centred Requirements for Software Engineering Environments</i>. Springer, Berlin, Heidelberg. pp. <span class="nowrap">297–</span>306. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.310.8814">10.1.1.310.8814</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-662-03035-6_23">10.1007/978-3-662-03035-6_23</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-642-08189-7</bdi>.</cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite id="CITEREFFischerGiaccardi2006" class="citation book cs1">Fischer, Gerhard; Giaccardi, Elisa (2006-01-01). Lieberman, Henry; Paternò, Fabio; Wulf, Volker (eds.). <a rel="nofollow" class="external text" href="https://archive.org/details/enduserdevelopme0000unse/page/427"><i>End User Development</i></a>. Human-Computer Interaction Series. Springer Netherlands. pp. <a rel="nofollow" class="external text" href="https://archive.org/details/enduserdevelopme0000unse/page/427">427–457</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F1-4020-5386-x_19">10.1007/1-4020-5386-x_19</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781402042201</bdi>.</cite></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite id="CITEREFLiebermanPaternòKlannWulf2006" class="citation book cs1">Lieberman, Henry; Paternò, Fabio; Klann, Markus; Wulf, Volker (2006-01-01). Lieberman, Henry; Paternò, Fabio; Wulf, Volker (eds.). <a rel="nofollow" class="external text" href="https://archive.org/details/enduserdevelopme0000unse/page/1"><i>End User Development</i></a>. Human-Computer Interaction Series. Springer Netherlands. pp. <a rel="nofollow" class="external text" href="https://archive.org/details/enduserdevelopme0000unse/page/1">1–8</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F1-4020-5386-x_1">10.1007/1-4020-5386-x_1</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781402042201</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:15559793">15559793</a>.</cite></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><cite id="CITEREFEricksonKellogg2000" class="citation journal cs1">Erickson, Thomas; Kellogg, Wendy A. (2000-03-01). "Social Translucence: An Approach to Designing Systems That Support Social Processes". <i>ACM Trans. Comput.-Hum. Interact</i>. <b>7</b> (1): <span class="nowrap">59–</span>83. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F344949.345004">10.1145/344949.345004</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1073-0516">1073-0516</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:5943805">5943805</a>.</cite></span>
</li>
<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><cite id="CITEREFLeshedHaberMatthewsLau2008" class="citation book cs1">Leshed, Gilly; Haber, Eben M.; Matthews, Tara; Lau, Tessa (2008-01-01). "CoScripter". <i>Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</i>. CHI '08. New York, NY, USA: ACM. pp. <span class="nowrap">1719–</span>1728. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1357054.1357323">10.1145/1357054.1357323</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781605580111</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:5989563">5989563</a>.</cite></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite id="CITEREFIntharahTurmukhambetovBrostow2017" class="citation book cs1">Intharah, Thanapong; Turmukhambetov, Daniyar; Brostow, Gabriel J. (2017-01-01). "Help, It Looks Confusing". <i>Proceedings of the 22nd International Conference on Intelligent User Interfaces</i>. IUI '17. New York, NY, USA: ACM. pp. <span class="nowrap">233–</span>243. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3025171.3025176">10.1145/3025171.3025176</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781450343480</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:16596496">16596496</a>.</cite></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite id="CITEREFFischerGiaccardiYeSutcliffe2004" class="citation journal cs1">Fischer, G.; Giaccardi, E.; Ye, Y.; Sutcliffe, A. G.; Mehandjiev, N. (2004-09-01). "Meta-design: A Manifesto for End-user Development". <i>Commun. ACM</i>. <b>47</b> (9): <span class="nowrap">33–</span>37. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1015864.1015884">10.1145/1015864.1015884</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0001-0782">0001-0782</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:11675776">11675776</a>.</cite></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite id="CITEREFHarrison2004" class="citation journal cs1">Harrison, Warren (July–August 2004). "The Dangers of End-User Programming". <i>IEEE Software</i>. <b>21</b> (4): 5. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FMS.2004.13">10.1109/MS.2004.13</a>.</cite></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite id="CITEREFPliskinShoval,_Peretz1987" class="citation journal cs1">Pliskin, Nava; Shoval, Peretz (1987). <a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1017816.1017817">"End-user prototyping: sophisticated users supporting system development"</a>. <i>ACM SIGMIS Database</i>. <b>18</b> (4): <span class="nowrap">7–</span>17. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1017816.1017817">10.1145/1017816.1017817</a></span>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:18183262">18183262</a>.</cite></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite id="CITEREFBrandtGuoLewensteinKlemmer2008" class="citation book cs1">Brandt, Joel; Guo, Philip J.; Lewenstein, Joel; Klemmer, Scott R. (2008-01-01). "Opportunistic programming". <i>Proceedings of the 4th international workshop on End-user software engineering</i>. WEUSE '08. New York, NY, USA: ACM. pp. <span class="nowrap">1–</span>5. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1370847.1370848">10.1145/1370847.1370848</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781605580340</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:17479074">17479074</a>.</cite></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://eusesconsortium.org/findings.php">"End-User Software Engineering: Empirical Findings"</a>. End Users Shaping Effective Software Consortium<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-05-28</span></span>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFCypher1993" class="citation book cs1">Cypher, Allen (1993). <a rel="nofollow" class="external text" href="https://archive.org/details/watchwhatido00alle"><i>Watch What I Do: Programming by Demonstration</i></a>. Contributor Daniel C. Halbert. Publisher: MIT Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-262-03213-1</bdi>.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite book}}</code>: CS1 maint: publisher location (link)</span></li>
<li><cite id="CITEREFLieberman2001" class="citation book cs1">Lieberman, Henry (2001). <a rel="nofollow" class="external text" href="http://web.media.mit.edu/~lieber/PBE/Your-Wish/"><i>Your Wish is My Command: Programming By Example</i></a>. Contributor Ben Shneiderman. Publisher: Morgan Kaufmann. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-55860-688-3</bdi>.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite book}}</code>: CS1 maint: publisher location (link)</span></li>
<li>F. Paternò (2013) <a rel="nofollow" class="external text" href="http://www.hindawi.com/isrn/se/2013/532659/">End User Development: Survey of an Emerging Field for Empowering People</a>, ISRN Software Engineering, vol. 2013, Article ID 532659, 11 pages, 2013. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1155%2F2013%2F532659">10.1155/2013/532659</a></span>, 2013</li>
<li>B. Guo, D. Zhang, M. Imai. Enabling User-Oriented Management for Ubiquitous Computing: The Meta-Design Approach, Computer Networks, Elsevier, Vol. 54, No. 16, 2010.</li>
<li>Burnett, Margaret M. and Scaffidi, Christopher (2011): <a rel="nofollow" class="external text" href="http://www.interaction-design.org/encyclopedia/end-user_development.html">End-User Development</a>. In: Soegaard, Mads and Dam, Rikke Friis (eds.). "Encyclopedia of Human-Computer Interaction".</li>
<li>Kierkegaard, Patrick (2011)<cite id="CITEREFKierkegaard2011" class="citation book cs1 cs1-prop-long-vol">Kierkegaard, Patrick (2011). "Beefing up End User Development: Legal Protection and Regulatory Compliance". <i>End-User Development</i>. Lecture Notes in Computer Science. Vol. 6654/2011. pp. <span class="nowrap">203–</span>217. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-21530-8_16">10.1007/978-3-642-21530-8_16</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-642-21529-2</bdi>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite book}}</code>: </span><span class="cs1-visible-error citation-comment"><code class="cs1-code">|journal=</code> ignored (help)</span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.eud2009.uni-siegen.de">Second International Symposium on End User Development</a></li>
<li><a rel="nofollow" class="external text" href="http://eusesconsortium.org">EUSES Consortium, a collaboration that researches end user computing</a></li>
<li><a rel="nofollow" class="external text" href="https://www.springer.com/west/home/generic/search/results?SGWID=4-40109-22-85672321-0&referer=www.springeronline.com&SHORTCUT=www.springer.com/sgw/cda/frontpage/0,11855,4-40109-22-85672321-0,00.html">The End User Development book</a></li>
<li><a rel="nofollow" class="external text" href="http://giove.cnuce.cnr.it/eud-net.htm">The European Commission Network of Excellence on End-User Development</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160303191133/http://giove.cnuce.cnr.it/eud-net.htm">Archived</a> 2016-03-03 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120402234145/http://www.iisi.de/international-symposium-on-end-user-development/conference-series/">Conference Series International Symposium on End-User Development</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Programming_paradigms_(Comparison_by_language)368" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Programming_paradigms_(Comparison_by_language)368" style="font-size:114%;margin:0 4em"><a href="Programming_paradigm" title="Programming paradigm">Programming paradigms</a> (<a href="Comparison_of_multi-paradigm_programming_languages" title="Comparison of multi-paradigm programming languages">Comparison by language</a>)</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Imperative_programming" title="Imperative programming">Imperative</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Structured_programming" title="Structured programming">Structured</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Jackson_structured_programming" title="Jackson structured programming">Jackson structures</a></li>
<li><a href="Block_(programming)" title="Block (programming)">Block-structured</a></li>
<li><a href="Modular_programming" title="Modular programming">Modular</a></li>
<li><a href="Non-structured_programming" title="Non-structured programming">Non-structured</a></li>
<li><a href="Procedural_programming" title="Procedural programming">Procedural</a></li>
<li><a href="Programming_in_the_large_and_programming_in_the_small" title="Programming in the large and programming in the small">Programming in the large and in the small</a></li>
<li><a href="Design_by_contract" title="Design by contract">Design by contract</a></li>
<li><a href="Invariant-based_programming" title="Invariant-based programming">Invariant-based</a></li>
<li><a href="Nested_function" title="Nested function">Nested function</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Object-oriented_programming" title="Object-oriented programming">Object-oriented</a><br>(<a href="Comparison_of_programming_languages_(object-oriented_programming)" title="Comparison of programming languages (object-oriented programming)">comparison</a>, <a href="List_of_object-oriented_programming_languages" title="List of object-oriented programming languages">list</a>)</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Class-based_programming" title="Class-based programming">Class-based</a>, <a href="Prototype-based_programming" title="Prototype-based programming">Prototype-based</a>, <a href="Object-based_language" title="Object-based language">Object-based</a></li>
<li><a href="Agent-oriented_programming" title="Agent-oriented programming">Agent</a></li>
<li><a href="Immutable_object" title="Immutable object">Immutable object</a></li>
<li><a href="Persistent_programming_language" title="Persistent programming language">Persistent</a></li>
<li><a href="Uniform_function_call_syntax" title="Uniform function call syntax">Uniform function call syntax</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Declarative_programming" title="Declarative programming">Declarative</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Functional_programming" title="Functional programming">Functional</a><br>(<a href="Comparison_of_functional_programming_languages" title="Comparison of functional programming languages">comparison</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Recursion_(computer_science)" title="Recursion (computer science)">Recursive</a></li>
<li><a href="Anonymous_function" title="Anonymous function">Anonymous function</a> (<a href="Partial_application" title="Partial application">Partial application</a>)</li>
<li><a href="Higher-order_programming" title="Higher-order programming">Higher-order</a></li>
<li><a href="Purely_functional_programming" title="Purely functional programming">Purely functional</a></li>
<li><a href="Total_functional_programming" title="Total functional programming">Total</a></li>
<li><a href="Strict_programming_language" title="Strict programming language">Strict</a></li>
<li><a href="Generalized_algebraic_data_type" title="Generalized algebraic data type">GADTs</a></li>
<li><a href="Dependent_type" title="Dependent type">Dependent types</a></li>
<li><a href="Functional_logic_programming" title="Functional logic programming">Functional logic</a></li>
<li><a href="Tacit_programming" title="Tacit programming">Point-free style</a></li>
<li><a href="Expression-oriented_programming_language" title="Expression-oriented programming language">Expression-oriented</a></li>
<li><a href="Applicative_programming_language" title="Applicative programming language">Applicative</a>, <a href="Concatenative_programming_language" title="Concatenative programming language">Concatenative</a></li>
<li><a href="Function-level_programming" title="Function-level programming">Function-level</a>, <a href="Value-level_programming" title="Value-level programming">Value-level</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Dataflow_programming" title="Dataflow programming">Dataflow</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Flow-based_programming" title="Flow-based programming">Flow-based</a></li>
<li><a href="Reactive_programming" title="Reactive programming">Reactive</a> (<a href="Functional_reactive_programming" title="Functional reactive programming">Functional reactive</a>)</li>
<li><a href="Signal_programming" class="mw-redirect" title="Signal programming">Signals</a></li>
<li><a href="Stream_processing" title="Stream processing">Streams</a></li>
<li><a href="Synchronous_programming_language" title="Synchronous programming language">Synchronous</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Logic_programming" title="Logic programming">Logic</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Abductive_logic_programming" title="Abductive logic programming">Abductive logic</a></li>
<li><a href="Answer_set_programming" title="Answer set programming">Answer set</a></li>
<li><a href="Constraint_programming" title="Constraint programming">Constraint</a> (<a href="Constraint_logic_programming" title="Constraint logic programming">Constraint logic</a>)</li>
<li><a href="Inductive_logic_programming" title="Inductive logic programming">Inductive logic</a></li>
<li><a href="Nondeterministic_programming" title="Nondeterministic programming">Nondeterministic</a></li>
<li><a href="Ontology_language" title="Ontology language">Ontology</a></li>
<li><a href="Probabilistic_logic_programming" title="Probabilistic logic programming">Probabilistic logic</a></li>
<li><a href="Query_language" title="Query language">Query</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Domain-specific_language" title="Domain-specific language">DSL</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Algebraic_modeling_language" title="Algebraic modeling language">Algebraic modeling</a></li>
<li><a href="Array_programming" title="Array programming">Array</a></li>
<li><a href="Automata-based_programming" title="Automata-based programming">Automata-based</a> (<a href="Action_language" title="Action language">Action</a>)</li>
<li><a href="Command_language" title="Command language">Command</a> (<a href="Spacecraft_command_language" title="Spacecraft command language">Spacecraft</a>)</li>
<li><a href="Differentiable_programming" title="Differentiable programming">Differentiable</a></li>
<li><a href="Grammar-oriented_programming" title="Grammar-oriented programming">Grammar-oriented</a></li>
<li><a href="Interface_description_language" title="Interface description language">Interface description</a></li>
<li><a href="Language-oriented_programming" title="Language-oriented programming">Language-oriented</a></li>
<li><a href="List_comprehension" title="List comprehension">List comprehension</a></li>
<li><a href="Low-code_development_platform" title="Low-code development platform">Low-code</a></li>
<li><a href="Modeling_language" title="Modeling language">Modeling</a></li>
<li><a href="Natural-language_programming" class="mw-redirect" title="Natural-language programming">Natural language</a></li>
<li><a href="Non-English-based_programming_languages" title="Non-English-based programming languages">Non-English-based</a></li>
<li><a href="Page_description_language" title="Page description language">Page description</a></li>
<li><a href="Pipeline_(software)" title="Pipeline (software)">Pipes</a> and <a href="Filter_(software)" title="Filter (software)">filters</a></li>
<li><a href="Probabilistic_programming" title="Probabilistic programming">Probabilistic</a></li>
<li><a href="Quantum_programming" title="Quantum programming">Quantum</a></li>
<li><a href="Scientific_programming_language" title="Scientific programming language">Scientific</a></li>
<li><a href="Scripting_language" title="Scripting language">Scripting</a></li>
<li><a href="Set_theoretic_programming" title="Set theoretic programming">Set-theoretic</a></li>
<li><a href="Simulation_language" title="Simulation language">Simulation</a></li>
<li><a href="Stack-oriented_programming" title="Stack-oriented programming">Stack-based</a></li>
<li><a href="System_programming_language" title="System programming language">System</a></li>
<li><a href="Tactile_programming_language" title="Tactile programming language">Tactile</a></li>
<li><a href="Template_processor" title="Template processor">Templating</a></li>
<li><a href="Transformation_language" title="Transformation language">Transformation</a> (<a href="Graph_rewriting" title="Graph rewriting">Graph rewriting</a>, <a href="Production_system_(computer_science)" title="Production system (computer science)">Production</a>, <a href="Pattern_matching" title="Pattern matching">Pattern</a>)</li>
<li><a href="Visual_programming_language" title="Visual programming language">Visual</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Concurrent_computing" title="Concurrent computing">Concurrent</a>,<br><a href="Distributed_computing" title="Distributed computing">distributed</a>,<br><a href="Parallel_computing" title="Parallel computing">parallel</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Actor_model" title="Actor model">Actor-based</a></li>
<li><a href="Automatic_mutual_exclusion" title="Automatic mutual exclusion">Automatic mutual exclusion</a></li>
<li><a href="Choreographic_programming" title="Choreographic programming">Choreographic programming</a></li>
<li><a href="Concurrent_logic_programming" title="Concurrent logic programming">Concurrent logic</a> (<a href="Concurrent_constraint_logic_programming" title="Concurrent constraint logic programming">Concurrent constraint logic</a>)</li>
<li><a href="Concurrent_object-oriented_programming" title="Concurrent object-oriented programming">Concurrent OO</a></li>
<li><a href="Macroprogramming" title="Macroprogramming">Macroprogramming</a></li>
<li><a href="Multitier_programming" title="Multitier programming">Multitier programming</a></li>
<li><a href="Organic_computing" title="Organic computing">Organic computing</a></li>
<li><a href="Parallel_programming_model" title="Parallel programming model">Parallel programming models</a></li>
<li><a href="Partitioned_global_address_space" title="Partitioned global address space">Partitioned global address space</a></li>
<li><a href="Process-oriented_programming" title="Process-oriented programming">Process-oriented</a></li>
<li><a href="Relativistic_programming" title="Relativistic programming">Relativistic programming</a></li>
<li><a href="Service-oriented_programming" title="Service-oriented programming">Service-oriented</a></li>
<li><a href="Structured_concurrency" title="Structured concurrency">Structured concurrency</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Metaprogramming" title="Metaprogramming">Metaprogramming</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Attribute-oriented_programming" title="Attribute-oriented programming">Attribute-oriented</a></li>
<li><a href="Automatic_programming" title="Automatic programming">Automatic</a> (<a href="Inductive_programming" title="Inductive programming">Inductive</a>)</li>
<li><a href="Dynamic_programming_language" title="Dynamic programming language">Dynamic</a></li>
<li><a href="Extensible_programming" title="Extensible programming">Extensible</a></li>
<li><a href="Generic_programming" title="Generic programming">Generic</a></li>
<li><a href="Homoiconicity" title="Homoiconicity">Homoiconicity</a></li>
<li><a href="Interactive_programming" title="Interactive programming">Interactive</a></li>
<li><a href="Macro_(computer_science)" title="Macro (computer science)">Macro</a> (<a href="Hygienic_macro" title="Hygienic macro">Hygienic</a>)</li>
<li><a href="Metalinguistic_abstraction" title="Metalinguistic abstraction">Metalinguistic abstraction</a></li>
<li><a href="Multi-stage_programming" title="Multi-stage programming">Multi-stage</a></li>
<li><a href="Program_synthesis" title="Program synthesis">Program synthesis</a> (<a href="Bayesian_program_synthesis" title="Bayesian program synthesis">Bayesian</a>, <a href="Inferential_programming" title="Inferential programming">Inferential</a>, <a href="Programming_by_demonstration" title="Programming by demonstration">by demonstration</a>, <a href="Programming_by_example" title="Programming by example">by example</a>)</li>
<li><a href="Reflective_programming" title="Reflective programming">Reflective</a></li>
<li><a href="Self-modifying_code" title="Self-modifying code">Self-modifying code</a></li>
<li><a href="Symbolic_programming" title="Symbolic programming">Symbolic</a></li>
<li><a href="Template_metaprogramming" title="Template metaprogramming">Template</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Separation_of_concerns" title="Separation of concerns">Separation<br>of concerns</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Aspect-oriented_programming" title="Aspect-oriented programming">Aspects</a></li>
<li><a href="Component-based_software_engineering" title="Component-based software engineering">Components</a></li>
<li><a href="Data-driven_programming" title="Data-driven programming">Data-driven</a></li>
<li><a href="Data-oriented_design" title="Data-oriented design">Data-oriented</a></li>
<li><a href="Event-driven_programming" title="Event-driven programming">Event-driven</a></li>
<li><a href="Feature-oriented_programming" title="Feature-oriented programming">Features</a></li>
<li><a href="Literate_programming" title="Literate programming">Literate</a></li>
<li><a href="Role-oriented_programming" title="Role-oriented programming">Roles</a></li>
<li><a href="Subject-oriented_programming" title="Subject-oriented programming">Subjects</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-05-30" href="https://en.wikipedia.org/wiki/?title=End-user_development&oldid=1293085588">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>